Ranging in certain wireless networks such as those based on OFDMA technology (e.g. WiMax) is done by generating a ranging pattern for a subset out of the available tones for the duration of 2 or more symbols. Taking WiMax as an example, the tones are divided into subsets of 4 successive tones called tiles, e.g. Tile1=tones 1 to 4, Tile2=tones 5 to 8, Tile3=tones 9 to 12, and so on. Out of all the tiles, a subset of tiles is selected for deriving a ranging code as demonstrated in FIG. 1. This subset is referred to as a ranging subchannel. The tiles belonging to such a ranging subchannel are typically spread over the entire frequency band, but with pseudo random inter-tile frequency gaps. For example, for a system using 1024 tones FFT, there are 36 tiles per ranging code, with the average gap between each two consecutive tiles of these 36 tiles is 6 tiles.
Let us assume that x={x1, x2, . . . , xN}T denotes a ranging code vector transmitted over an OFDM multi tone channel, where N is the number of tones and code symbol xk is transmitted at the tone k. For tones that are not used in the ranging code, we set xk=0. Let now τ be the timing offset of the transmitter, and Δw—the tones' frequency spacing in [rad/sec]. The purpose of the ranging process is to discover whether a transmitter is transmitting a ranging code, and if so, estimate its timing offset (“range”) τ. Detection and timing estimation are based on the received signal rk:rk=ckxk·ej·kΔw·τvk 1≦k≦N  (1)whereck is the complex channel response for tone k; andvk is the additive noise for tone k.
Moreover, a typical ranging protocol allows several ranging codes to be transmitted at the same time on the same tiles, as long as each of the ranging codes is different from the others, and provided that there are not too many ranging codes all together so that their SINR (Signal to Interference and Noise Ratio) is sufficient. A suitable receiver should be able to separately detect them and also time their arrival. The separation of overlapping code is based on a CDMA like principle:
After correlating {rk}—the received vector—with x={x1, x2, . . . , xN}T—the ranging code, the other interfering codes would appear as Additive White Gaussian Noise (hereinafter “AWGN”) at the correlator output.
For better clarification, let us assume that the additive noise vk is an Independent Identically Distributed (I.I.D.) Gaussian random variable having zero mean and variance equal to N0. The additive noise25 vk accounts for interference as well as for noise, as long as the interfering code is different than the desired code. Next, we assume that the channels are of the Rayleigh type. Now, let c={c1, c2, . . . , cN}T define the vector channel and assume that c is a Gaussian random vector with zero mean and autocorrelation matrix Rc.
By definingX=diag([x1e−j·0Δw·τx2e−j·1Δw·τ . . . xke−j·(k−1)Δw·τ . . . xNe−j·(N−1)Δw·τ]),equation (1) can be re-written asr=Xc+v  (2)where r={r1, r2, . . . , rM}T and v={v1, v2, . . . , vM}T 
A typical ranging requirement is for the receiver to use r to detect one of the known transmitted codes x and its corresponding timing offset τ over a channel having a prescribed false alarm rate PFAR and minimal mis-detection probability. The receiver may use reception on one or more antennas for this purpose.